package com.heng.service.Impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.heng.dao.mapper.ProductMapper;
import com.heng.dto.ProductDTO;
import com.heng.service.ProductService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

/**
 * 商品服务实现类
 */
@Service
@RequiredArgsConstructor  // Lombok注入依赖（替代@Autowired）
public class ProductServiceImpl implements ProductService {

    private final ProductMapper productMapper;  // 注入Mapper

    /**
     * 精选推荐：默认每页4条（对应前端精选区4个商品）
     */
    @Override
    public IPage<ProductDTO> getFeaturedProducts(Integer pageNum, Integer pageSize) {
        // 默认参数处理
        pageNum = pageNum == null ? 1 : pageNum;
        pageSize = pageSize == null ? 4 : pageSize;
        
        // 创建分页对象
        Page<ProductDTO> page = new Page<>(pageNum, pageSize);
        // 调用Mapper查询
        return productMapper.selectFeaturedProducts(page);
    }

    /**
     * 新品上架：默认每页5条（对应前端新品区5个商品）
     */
    @Override
    public IPage<ProductDTO> getNewProducts(Integer pageNum, Integer pageSize) {
        // 默认参数处理
        pageNum = pageNum == null ? 1 : pageNum;
        pageSize = pageSize == null ? 5 : pageSize;
        
        // 创建分页对象
        Page<ProductDTO> page = new Page<>(pageNum, pageSize);
        // 调用Mapper查询
        return productMapper.selectNewProducts(page);
    }
}